Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ninja as a default build system for some runners. #4491

Merged
merged 1 commit into from
Mar 14, 2024

Conversation

fruffy
Copy link
Collaborator

@fruffy fruffy commented Mar 1, 2024

Fixes #4471.

Needs a bit more work. There are lot of different build systems and options scattered around.

@fruffy fruffy added the infrastructure Topics related to code style and build and test infrastructure. label Mar 1, 2024
@fruffy fruffy force-pushed the fruffy/build_system branch 8 times, most recently from 6936c66 to 86cb892 Compare March 1, 2024 20:11
tools/ci-build.sh Show resolved Hide resolved
@fruffy fruffy force-pushed the fruffy/build_system branch 6 times, most recently from 74bb58e to c0b95ed Compare March 5, 2024 23:36
@fruffy fruffy marked this pull request as ready for review March 6, 2024 01:07
Copy link
Contributor

@vlstill vlstill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great to have Ninja officially supported/tested! Just two suggestions to make the CI a bit more robust.

tools/ci-build.sh Outdated Show resolved Hide resolved
.github/workflows/ci-test-fedora.yml Outdated Show resolved Hide resolved
@fruffy fruffy force-pushed the fruffy/build_system branch 2 times, most recently from 71eea42 to 99a324b Compare March 6, 2024 20:11
Copy link
Contributor

@vlstill vlstill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a build that uses make now? I don't see any and I think it is a good idea to have one. Ubuntu unity could be a good candidate as it should be relatively fast anyway as a unity build. The non-unity could be an alternative if the speed is of concern as it does not run tests (it is hard, but not impossible, to imagine a different build system to cause bugs in the build).

tools/ci-build.sh Show resolved Hide resolved
tools/ci-build.sh Outdated Show resolved Hide resolved
@fruffy
Copy link
Collaborator Author

fruffy commented Mar 7, 2024

Is there a build that uses make now? I don't see any and I think it is a good idea to have one. Ubuntu unity could be a good candidate as it should be relatively fast anyway as a unity build. The non-unity could be an alternative if the speed is of concern as it does not run tests (it is hard, but not impossible, to imagine a different build system to cause bugs in the build).

I figured we could use the nightly sanitizer build for this: https://github.com/p4lang/p4c/blob/main/.github/workflows/ci-ubuntu-20-sanitizer-nightly.yml

I can also change the unity build to use make again.

@vlstill
Copy link
Contributor

vlstill commented Mar 7, 2024

OK, I think having make just in nightly would be sufficient, I am OK with either of these choices.

@fruffy fruffy requested review from vlstill and asl March 7, 2024 21:27
@fruffy fruffy enabled auto-merge March 8, 2024 21:12
@fruffy fruffy added this pull request to the merge queue Mar 14, 2024
Merged via the queue into main with commit 01a9304 Mar 14, 2024
17 checks passed
@fruffy fruffy deleted the fruffy/build_system branch March 14, 2024 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Topics related to code style and build and test infrastructure.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Introduce modern CMake build style and Ninja to P4C
3 participants